#region head comment
/*
Code generate by YhdSdkTool.
email:starpeng@vip.qq.com
2013-01-21 23:00:56:932 +08:00
*/
#endregion

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using YhdSdk.Domain;
using YhdSdk.Domain.Product;
using YhdSdk.Response.Product;

namespace YhdSdk.Request.Product
{
    /// <summary>
    /// 更新单个产品外部编码id
    ///<para></para>
    ///<para>通过指定productId、outerId来更新产品的外部编码ID.</para>
    ///<para>更新成功则返回更新成功记录数，更新失败则返回更新失败记录数及相应的错误信息描述</para>
    ///<para>备注：通过系列产品id是无法更新产品的外部编码信息的，只有普通产品、套餐产品的子品、系列产品、系列产品的子品可以更新产品的外部编码信息</para>
    /// </summary>
    public class YhdProductOuteridUpdateRequest : IYhdRequest<YhdProductOuteridUpdateResponse>
    {
        /// <summary>
        /// 1号商城产品ID存在非法字符默认为空
        /// </summary>
        [XmlElement("productId")]
        public Int64 ProductId
        {
            get;
            set;
        }

        /// <summary>
        /// 外部产品编码id,最大长度为100
        /// </summary>
        [XmlElement("outerId")]
        public String OuterId
        {
            get;
            set;
        }

        /// <summary>
        /// Api接口名称
        /// </summary>
        public String ApiName
        {
            get{ return "yhd.product.outerid.update"; }
        }

        /// <summary>
        /// 获取参数列表
        /// </summary>
        public IDictionary<string, string> GetParameters()
        {
            YhdDictionary parameters = new YhdDictionary();
            parameters.Add("productId" ,this.ProductId);
            parameters.Add("outerId" ,this.OuterId);
            return parameters;
        }

        /// <summary>
        /// 验证参数
        /// </summary>
        public void Validate()
        {
            RequestValidator.ValidateRequired("productId", this.ProductId);
            RequestValidator.ValidateRequired("outerId", this.OuterId);
        }

    }
}
